package com.weimob.cloud.api.shop.rsp;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.List;

/**
 * 微盟查询商品列表响应
 */
@Getter
@Setter
public class WeimobShopGetGoodsListRsp implements Serializable {

    @JsonProperty("pageSize")
    private Integer pageSize;

    @JsonProperty("pageList")
    private List<PageListDTO> pageList;
    @JsonProperty("totalCount")
    private Integer totalCount;

    @JsonProperty("pageNum")
    private Integer pageNum;

    @Data
    public static class PageListDTO implements Serializable {

        @JsonProperty("soldType")
        private Integer soldType;

        @JsonProperty("isMultiSku")
        private Boolean isMultiSku;
        @JsonProperty("goodsId")
        private Long goodsId;

        @JsonProperty("isOnline")
        private Boolean isOnline;
        @JsonProperty("realSaleNum")
        private Integer realSaleNum;

        @JsonProperty("sort")
        private Integer sort;
        @JsonProperty("title")
        private String title;

        @JsonProperty("outerGoodsCode")
        private String outerGoodsCode;
        @JsonProperty("isCanSell")
        private Boolean isCanSell;

        @JsonProperty("defaultImageUrl")
        private String defaultImageUrl;
        @JsonProperty("goodsStock")
        private GoodsStockDTO goodsStock;

        @JsonProperty("goodsType")
        private Integer goodsType;
        @JsonProperty("subGoodsType")
        private Integer subGoodsType;

        @JsonProperty("subTitle")
        private String subTitle;
        @JsonProperty("goodsPrice")
        private GoodsPriceDTO goodsPrice;

        @JsonProperty("onlineTime")
        private Long onlineTime;
        @JsonProperty("createVid")
        private Long createVid;

        @Data
        public static class GoodsStockDTO implements Serializable {

            @JsonProperty("goodsStockNum")
            private Double goodsStockNum;
        }

        @Data
        public static class GoodsPriceDTO implements Serializable {

            @JsonProperty("minSalePrice")
            private String minSalePrice;

            @JsonProperty("maxSalePrice")
            private String maxSalePrice;
        }
    }
}
